﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
using MsForgeReboot.Framework.Entities;

namespace MsForgeReboot.Framework.ViewModels {
    public class EventEditModel {

        /// <summary>
        ///   Gets or sets the title.
        /// </summary>
        [Required(AllowEmptyStrings = false)]
        [MaxLength(200)]
        public string Title { get; set; }

        [MaxLength(250)]
        [Required(AllowEmptyStrings = false)]
        public string Topic { get; set; }

        public int? OrganizedByUserGroupId { get; set; }

        [DataType(DataType.DateTime)]
        public DateTime Begin { get; set; }

        [DataType(DataType.DateTime)]
        public DateTime? End { get; set; }

        [MaxLength(100)]
        [Required(AllowEmptyStrings = false)]
        public string Venue { get; set; }

        public Address Address { get; set; }

        public bool IsStreamingEvent { get; set; }

        [DataType(DataType.Html)]
        [AllowHtml]
        public string StreamingInstructions { get; set; }

        public string PicturePath { get; set; }

        /// <summary>
        ///   Gets or sets the id.
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        ///   Gets or sets the body.
        /// </summary>
        [DataType(DataType.Html)]
        [Required(AllowEmptyStrings = false)]
        [AllowHtml]
        public virtual string Body { get; set; }

        public UserViewModel Author { get; set; }
    }
}